MYSQL中日期加减(前一天、后一天等)以及格式化的函数

您所在的位置:网站首页 mysql 获取当前日期的年月 MYSQL中日期加减(前一天、后一天等)以及格式化的函数

MYSQL中日期加减(前一天、后一天等)以及格式化的函数

2024-07-06 03:53| 来源: 网络整理| 查看: 265

文章目录 序言日期的加减date_add和date_sub 日期的格式化date_format 日期的差值datedifftimestampdiff

序言

最近在写定时任务,查询条件中反复的会使用时间区间作为筛选条件,难免的会碰到对日期的操作,如获取前一天、后一天、一周前、一个月前等,索性整理一下MYSQL中的相关函数

日期的加减 date_add和date_sub

语法为:date_add(date,interval expr type)、date_sub(date,interval expr type) 其中常用的type的类型有:second、minute、hour、day、month、year等

date_add是对日期的增加,如果天数为负数时,则表示对日期减少, date_sub是对日期的减少,如果天数为负数时,则表示对日期增加 例如:

-- 获取日期 2020-04-07 curdate() -- 获取日期加时间 2020-04-07 23:10:30 now() -- 获取明天的日期 2020-04-08 date_add(curdate(),interval 1 day) --或者 date_sub(curdate(),interval -1 day) -- 获取明年的日期 2021-04-07 date_add(curdate(),interval 1 year) -- 或者 date_sub(curdate(),interval -1 year) 日期的格式化 date_format

语法为:date_format(date,format),date 参数是合法的日期。format 规定日期/时间的输出格式。 常用的格式有:

格式描述%Y年,4 位%y年,2 位%m月,数值(00-12)%M月名%D带有英文前缀的月中的天%d月的天,数值(00-31)%H小时 (00-23)%h小时 (01-12)%i分钟,数值(00-59)%S秒(00-59)%s秒(00-59) -- 格式化当前日期 2020-04-07 23:23:23 date_format(now(),'%Y-%m-%d %H:%i:%s' ) 日期的差值 datediff

DATEDIFF(date1,date2) 返回起始时间 date1 和结束时间 date2 之间的天数(date2-date1,正负情况都存在)。date1 和 date2 为日期或 date-and-time 表达式,计算差值时只会计算日期的差值,单位为天。

-- 当前时间2020-04-08,差值为-2 SELECT DATEDIFF(NOW(),'2020-04-10') -- 当前时间2020-04-08,差值为2 SELECT DATEDIFF(NOW(),'2020-04-06') timestampdiff

语法为:TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。 常用的值有:

FRAC_SECOND。表示间隔是毫秒SECOND。秒MINUTE。分钟HOUR。小时DAY。天WEEK。星期MONTH。月QUARTER。季度YEAR。年 -- now()值为 2020-04-08 23:20:20 SELECT TIMESTAMPDIFF(DAY,NOW(),'2020-04-10 23:23:23') -- 结果为2,相差两天,取整数 -- 其他单位同理


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3